import Vue from 'vue'
import VueRouter from 'vue-router'
import routes from './router'
//导入nprogress进度条加载
import { close, start } from '@/utils/nprogresss/nprogress'
Vue.use(VueRouter) // 安装路由功能

// const routes = [
// ]
// 创建router实例
const router = new VueRouter({
  mode: 'history', // 防止地址栏出现#，路由和url路径双向映射
  base: process.env.BASE_URL,
  routes// 定义一组路由，把url映射到组件（即视图）
})

// 全局前置守卫：在路由切换之前进行检查
router.beforeEach((to, from, next) => {
  // 检查目标路由是否需要认证
  if (to.meta.requiresAuth && !localStorage.getItem('token')) {
  /*  用户权限判断
  const userRole = localStorage.getItem('roles');  // 假设角色信息存储在 localStorage 中
    if (to.meta.roles && !to.meta.roles.includes(userRole)) {*/
    // 如果需要认证但没有 token，则跳转到登录页
    next({ name: '403' });
  } else {
    // 否则，继续路由跳转
    next();
  }
  start();//开始进度条

});

// 全局后置守卫：路由跳转后执行的操作（例如记录日志）
// router.afterEach((to, from) => {
//   // console.log(`Navigated to: ${to.path}`);
// });

router.afterEach(() => {
  close();//关闭进度条
  // console.log(`Navigated to: ${to.path}`);
});


export default router
